#include <bits/stdc++.h>
using namespace std;

int mx[100][100];
int vis[100];
int n,m;
int ans = 0;

void dfs(int x,int dis){
    ans = max(ans,dis);
    for(int i = 1;i <= n;i++){
        //没有路
        if(!mx[x][i]){
            continue;
        }else{
            //有路,先判断有没有被访问过。被访问过的话就换一条
            if(!vis[i]){
                vis[i] = 1;
                dfs(i,dis + mx[x][i]);
                vis[i] = 0;
            }else{
                continue;
            }
        }
    }
}

int main() {

    cin >> n >> m;
    for(int i = 1;i <= m;i++){
        int a,b,w;
        cin >> a >> b >> w;
        mx[a][b] = w;
        mx[b][a] = w;
    }
    for(int i = 1;i <= n;i++){
        vis[i] = 1;
        dfs(i,0);
        vis[i] = 0;
    }
    cout << ans << "\n";
}